// eslint.config.js
import pluginVue from 'eslint-plugin-vue';
import js from "@eslint/js";
import ts from 'typescript-eslint'

export default ts.config(
    js.configs.recommended,
    ...ts.configs.recommended,
    // 添加通用规则集
    ...pluginVue.configs['flat/recommended'],
    // ...pluginVue.configs['flat/vue2-recommended'], // 如果使用 Vue.js 2.x

    {
        rules: {
            // 覆盖或添加规则设置
            // 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
            // 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
            // 'semi': ['error', 'always'],
            'vue/no-unused-vars': 'warn',
            '@typescript-eslint/no-explicit-any': 'off',
            // 禁用 vue/multi-word-component-names 规则
            'vue/multi-word-component-names': 'off',
            '@typescript-eslint/explicit-module-boundary-types': 'off',
            // 禁用 vue/html-indent 规则
            'vue/html-indent': 'off',
            // 禁用 vue/singleline-html-element-content-newline 规则
            'vue/singleline-html-element-content-newline': 'off',
        },
        languageOptions: {
            parserOptions: {
                parser: '@typescript-eslint/parser'
            }
        },
        files: ['*.ts', '**/*.ts', '*.tsx', '*.vue', '**/*.vue'],
        // parser: '@typescript-eslint/parser',
        // plugins: ['@typescript-eslint'],
        // extends: [
        //     'plugin:@typescript-eslint/recommended'
        // ],
        // rules: {
        //     '@typescript-eslint/no-explicit-any': 'off',
        //     '@typescript-eslint/explicit-module-boundary-types': 'off'
        // }
    }
)